Computer vision systems are based on information obtained from various measuring devices. Information can be measured using e.g. a laser device, a measuring head or via recognition from an image. The information obtained can be utilized e.g. in quality control systems, where, on the basis of this information, it is possible to determine e.g. the correctness of shape of an object, coloring errors or the number of knots in sawn timber.
A computer vision system is generally formed from cameras. Traditional computer vision systems comprised only one camera, which took a picture of the object. By processing the picture, various conclusions could be drawn from it. By using different algorithms, it is possible to distinguish different levels in images on the basis of their borderlines. The borderlines are identified on the basis of intensity conversion. Another method of recognizing shapes in an image is to connect it to masks and filters so that only certain types of points will be distinguished from the image. The patterns formed by the points in the image can be compared to models in a database and thus recognized.
In a truly three-dimensional computer vision system, several cameras are needed. To determine a three-dimensional coordinate, an image of the same point is needed from at least two cameras. The points are usually formed on the surface of the object via illumination. The illumination is typically implemented using a laser. The point is imaged by cameras calibrated in the same coordinate system. When an image of the point can be produced by at least two cameras, it is possible to determine three-dimensional coordinates for the point. For the same position, a number of points are measured. The set of points thus formed is called a point cloud.
The object to be measured can be placed on a movable support, e.g. a rotating table. ‘Rotating table’ means a support that rotates about its axis. If the object can be rotated, then the camera system need not be able to measure the entire object from one position and normally fewer cameras are needed than when measurements are carried out with the object on a fixed support. The movable support may also be a carrier moving on rails.
To carry out measurements, the computer vision system has to be calibrated because the positions of the cameras or the lens error parameters are not known. Calibration refers to an operation whereby the connected between the two-dimensional image coordinates of the points as perceived by the cameras and the three-dimensional coordinates obtained as a result are determined.
Camera systems are typically calibrated by measuring calibration points in the visual field of the cameras and using calibration pieces comprising a number of three-dimensional points. A calibration procedure is described in Finnish patent no. 74556. The accuracy requirements concerning camera systems and calibration vary depending on the application. The calibration of a camera system is a problem of nonlinear nature, so the mathematical models behind it are complicated, e.g. because of lens errors. Different calibration methods are described e.g. in an article entitled “Geometric Camera Calibration Using Circular Control Points” in the October 2000 issue of the periodical “IEEE Transactions On Pattern Analysis And Machine Intelligence”.
Complicated mathematical models are difficult to manage. On the other hand, simplifying the models too much impairs the calibration accuracy. Moreover, in most methods it is assumed that the views perceived by the cameras are unbiased and that the only error appearing in them is the evenly distributed random noise. These problems can be reduced by modifying the mathematical model, but typically this leads to a more complicated model or excessive deterioration of accuracy. However, lens errors and other sources of error inherent with the camera can not be completely eliminated.